package Collection;

import com.sun.corba.se.impl.orbutil.ObjectStreamClassUtil_1_3;
import jdk.management.resource.internal.inst.SocketOutputStreamRMHooks;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/*
 java.util.List
 List继承自Collection 特点是可以存放重复元素
 方法
 实现类
 java.util.ArrayList 内部使用数组实现 查询性能好
 java.util.LinkedList 内部使用链表实现  增删功能更好 首位增删性能最佳
 在对性能没有特别苛刻要求下  首选ArrayList即可
 */
public class LiseDemo1 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        System.out.println(list);
//       System.out.println(list.get(2));
        String str = list.get(2);
        System.out.println(str);
//       传统for循环遍历
        for (int i = 0; i < list.size(); i++) {
            str  = list.get(i);
            System.out.println(str);}

            //替换指定位置上的元素 返回值是被替换的那个元素
            list.set(1, "six");
            System.out.println(list);

            //反转
            for (int i = 0; i < list.size()/2; i++) {
                String s = list.get(i);
                s = list.set(list.size()-1-i,s);
                list.set(i,s);
            }
            System.out.println(list);

        Collections.reverse(list);
        System.out.println(list);


    }
}
